import axios from 'axios';
import router from '@/router';
import { ElMessage } from 'element-plus';

const index = axios.create({
  baseURL: 'http://47.96.0.211:3001/admin',
});

axios.defaults.timeout = 5000;
axios.defaults.withCredentials = false;

// 拦截器
index.interceptors.response.use((res) => {
  if (res.data?.token) {
    sessionStorage.setItem('token', res.data.token);
  }

  //  没有登录处理
  if (res.data.code === 0 || !sessionStorage.getItem('token')) {
    ElMessage({
      // 不需要引入，自动就可以使用了
      message: '请先登录！',
      type: 'error',
    });
    sessionStorage.removeItem('token');
    router.push('/login');
    return;
  }
  ElMessage({
    // 不需要引入，自动就可以使用了
    message: res?.data?.message,
    type: res.data.code === 1 ? 'success' : 'error',
  });
  return res.data;
});

axios.interceptors.request.use((config) => {
  console.log('添加token');
  // 需要再请求头上面统一携带token给后端传递
  const token = sessionStorage.getItem('token');
  if (token) config.headers.token = token;
  return config;
});
export default index;


const TOKEN_KEY = 'token';

// 创建 axios 实例，并添加请求拦截器
const axiosInstance = axios.create();

axiosInstance.interceptors.request.use(
  (config) => {
    const token = localStorage.getItem(TOKEN_KEY);
    if (token && config.headers?.Authorization !== 'false') {
      config.headers.Authorization = `Bearer ${token}`; // 添加 token 到请求头中
    } else if (config.headers?.Authorization === 'false') {
      delete config.headers.Authorization; // 删除请求头中的 token
    }
    // 可在此处添加其他请求拦截逻辑
    return config;
  },
  (error) => {
    // 请求错误处理
    return Promise.reject(error);
  }
);
axiosInstance.get('/api/hanner', {
  headers: {
    Authorization: 'false'
  }
})